#ifndef _HighScores_H_
#define _HighScores_H_

#include "common.h"
#include "scoredata.h"

#include "settings.h"

#include <vector>

using namespace Common;

class HighScores
{
	public:
		HighScores(Settings* settingsPtr);
		~HighScores();
		
		bool Save();
		bool Load();
		
		bool IsHighScore(GameMode::Type mode, char* lvl, int value);
		
		int GetHighScore(GameMode::Type mode, char* lvl);
		
		void SetLevelsComplete(int l);
		int GetLevelsComplete(){return _levelsCompleted;}
		
		void SetInProgress(bool b){_inProgress = b;}
		void SetCustomStory(bool b){_customStory = b;}
		void SetLevelIndex(int i){_levelIndex = i;}
		
		bool IsInProgress(){return _inProgress;}
		bool IsCustomStory(){return _customStory;}
		int GetLevelIndex(){return _levelIndex;}
		
	private:
		std::vector<ScoreData*> _scores;
		int _levelsCompleted;
		
		Settings* _ptrSettings;
		
		//Data for saving current progress
		bool _inProgress;
		bool _customStory;
		int _levelIndex;
		
};

#endif //_HighScores_H_
